
// 更新当前时间
function updateTime() {
    const now = new Date();
    const options = {
        year: 'numeric',
        month: 'long',
        day: 'numeric',
        hour: '2-digit',
        minute: '2-digit',
        second: '2-digit'
    };
    document.getElementById('current-time').textContent = now.toLocaleDateString('zh-CN', options);
    document.getElementById('update-time').textContent = now.toLocaleDateString('zh-CN') + ' ' +
        now.toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit', second: '2-digit' });
}

setInterval(updateTime, 1000);
updateTime();

// 初始化所有图表
document.addEventListener('DOMContentLoaded', function () {
    const wordcloudChart = echarts.init(document.getElementById('wordcloud-chart'));
    // 节点：每个关键词作为节点，size 由原词云的 value 决定
    const nodes = [
        { id: '农学院', name: '农学院', symbolSize: 80 },
        { id: '活动', name: '活动', symbolSize: 86 },
        { id: '农业科技', name: '农业科技', symbolSize: 100 },
        { id: '作物育种', name: '作物育种', symbolSize: 85 },
        { id: '乡村振兴', name: '乡村振兴', symbolSize: 80 },
        { id: '农业政策', name: '农业政策', symbolSize: 75 },
        { id: '粮食安全', name: '粮食安全', symbolSize: 70 },
        { id: '智慧农业', name: '智慧农业', symbolSize: 65 },
        { id: '农产品', name: '农产品', symbolSize: 60 },
        { id: '农业经济', name: '农业经济', symbolSize: 55 },
        { id: '农业教育', name: '农业教育', symbolSize: 50 },
        { id: '农业机械', name: '农业机械', symbolSize: 45 },
        { id: '农业生态', name: '农业生态', symbolSize: 40 },
        { id: '农业科研', name: '农业科研', symbolSize: 35 },
        { id: '农村发展', name: '农村发展', symbolSize: 30 },
        { id: '农业合作', name: '农业合作', symbolSize: 25 },
        { id: '农业技术', name: '农业技术', symbolSize: 20 }
    ];

    // 边：手动定义节点间的关联（实际场景可从业务数据生成）
    const links = [
        // 农业科技的关联
        { source: '农业科技', target: '作物育种' },
        { source: '农业科技', target: '智慧农业' },
        { source: '农业科技', target: '农业技术' },
        // 乡村振兴的关联
        { source: '乡村振兴', target: '农业政策' },
        { source: '乡村振兴', target: '农村发展' },
        { source: '乡村振兴', target: '农业经济' },
        // 农业教育的关联
        { source: '农业教育', target: '农学院' },
        { source: '农业教育', target: '农业科研' },
        // 农产品的关联
        { source: '农产品', target: '农业经济' },
        { source: '农产品', target: '农业生态' },
        { source: '农产品', target: '粮食安全' },
        // 农业机械的关联
        { source: '农业机械', target: '农业科技' },
        { source: '农业机械', target: '农产品' },
        // 活动的关联
        { source: '活动', target: '农学院' },
        { source: '活动', target: '农业科技' },
        { source: '活动', target: '乡村振兴' }
    ];
    const wordcloudOption = {
        title: {
            text: '农学院新闻图谱',
            left: 'center'
        },
        tooltip: {}, // 鼠标悬浮提示
        series: [{
            type: 'graph',      // 关系图类型
            layout: 'force',    // 力导向布局（节点根据力学规则分布）
            force: {
                repulsion: 1000,  // 节点间的排斥力（值越大，节点越分散）
                edgeLength: [50, 150], // 边的长度范围
                gravity: 0.1      // 节点向中心的引力
            },
            data: nodes,        // 节点数据
            links: links,       // 边数据
            roam: true,         // 允许缩放、平移
            label: {
                show: true,       // 显示节点名称
                position: 'inside'// 文字在节点内部
            },
            lineStyle: {
                color: 'source',  // 边的颜色继承“源节点”的颜色
                curveness: 0.1    // 边的弯曲度
            }
        }]
    };
    wordcloudChart.setOption(wordcloudOption);

    // 点击趋势图
    const trendChart = echarts.init(document.getElementById('trend-chart'));
    const trendOption = {
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            data: ['总点击量', '平均点击率'],
            textStyle: {
                color: '#fff'
            },
            top: '5%'
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        xAxis: {
            type: 'category',
            boundaryGap: false,
            data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月'],
            axisLine: {
                lineStyle: {
                    color: '#a0a8b6'
                }
            }
        },
        yAxis: [
            {
                type: 'value',
                name: '点击量',
                axisLine: {
                    lineStyle: {
                        color: '#a0a8b6'
                    }
                },
                splitLine: {
                    lineStyle: {
                        color: 'rgba(255, 255, 255, 0.1)'
                    }
                }
            },
            {
                type: 'value',
                name: '点击率(%)',
                axisLine: {
                    lineStyle: {
                        color: '#a0a8b6'
                    }
                },
                splitLine: {
                    show: false
                }
            }
        ],
        series: [
            {
                name: '总点击量',
                type: 'line',
                smooth: true,
                data: [3200, 3320, 3010, 3340, 3900, 4300, 5100, 5200, 4800, 5500, 5800],
                lineStyle: {
                    width: 3
                },
                itemStyle: {
                    color: '#4facfe'
                },
                areaStyle: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                        { offset: 0, color: 'rgba(79, 172, 254, 0.5)' },
                        { offset: 1, color: 'rgba(79, 172, 254, 0.1)' }
                    ])
                }
            },
            {
                name: '平均点击率',
                type: 'line',
                smooth: true,
                yAxisIndex: 1,
                data: [35, 38, 40, 42, 45, 44, 46, 47, 46, 48, 47],
                lineStyle: {
                    width: 3
                },
                itemStyle: {
                    color: '#00f2fe'
                }
            }
        ]
    };
    trendChart.setOption(trendOption);

    // 柱状图
    const barChart = echarts.init(document.getElementById('bar-chart'));
    const barOption = {
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        legend: {
            data: ['新闻数量', '平均点击量'],
            textStyle: {
                color: '#fff'
            },
            top: '5%'
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '3%',
            containLabel: true
        },
        xAxis: {
            type: 'category',
            data: ['科研动态', '政策解读', '教学成果', '学术活动', '合作交流', '校园新闻', '招生信息'],
            axisLine: {
                lineStyle: {
                    color: '#a0a8b6'
                }
            },
            axisLabel: {
                interval: 0,
                rotate: 30
            }
        },
        yAxis: {
            type: 'value',
            name: '数量',
            axisLine: {
                lineStyle: {
                    color: '#a0a8b6'
                }
            },
            splitLine: {
                lineStyle: {
                    color: 'rgba(255, 255, 255, 0.1)'
                }
            }
        },
        series: [
            {
                name: '新闻数量',
                type: 'bar',
                barWidth: '30%',
                data: [120, 132, 101, 134, 90, 230, 210],
                itemStyle: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                        { offset: 0, color: '#4facfe' },
                        { offset: 1, color: '#00f2fe' }
                    ])
                }
            },
            {
                name: '平均点击量',
                type: 'bar',
                barWidth: '30%',
                data: [220, 182, 191, 234, 290, 330, 310],
                itemStyle: {
                    color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                        { offset: 0, color: '#43e97b' },
                        { offset: 1, color: '#38f9d7' }
                    ])
                }
            }
        ]
    };
    barChart.setOption(barOption);

    // 雷达图
    const radarChart = echarts.init(document.getElementById('radar-chart'));
    const radarOption = {
        tooltip: {
            trigger: 'item'
        },
        legend: {
            data: ['科研类新闻', '政策类新闻'],
            textStyle: {
                color: '#fff'
            },
            top: '5%'
        },
        radar: {
            indicator: [
                { name: '点击量', max: 100 },
                { name: '评论数', max: 100 },
                { name: '分享数', max: 100 },
                { name: '收藏数', max: 100 },
                { name: '阅读完成率', max: 100 }
            ],
            shape: 'circle',
            splitNumber: 5,
            axisName: {
                color: '#a0a8b6',
                backgroundColor: 'rgba(0,0,0,0.3)',
                borderRadius: 3,
                padding: [3, 5]
            },
            splitLine: {
                lineStyle: {
                    color: 'rgba(255, 255, 255, 0.1)'
                }
            },
            splitArea: {
                show: true,
                areaStyle: {
                    color: ['rgba(255, 255, 255, 0.02)', 'rgba(255, 255, 255, 0.05)']
                }
            },
            axisLine: {
                lineStyle: {
                    color: 'rgba(255, 255, 255, 0.3)'
                }
            }
        },
        series: [
            {
                name: '新闻质量评估',
                type: 'radar',
                data: [
                    {
                        value: [85, 90, 75, 80, 95],
                        name: '科研类新闻',
                        areaStyle: {
                            color: 'rgba(79, 172, 254, 0.3)'
                        },
                        lineStyle: {
                            color: '#4facfe'
                        },
                        itemStyle: {
                            color: '#4facfe'
                        }
                    },
                    {
                        value: [70, 82, 63, 75, 88],
                        name: '政策类新闻',
                        areaStyle: {
                            color: 'rgba(0, 242, 254, 0.3)'
                        },
                        lineStyle: {
                            color: '#00f2fe'
                        },
                        itemStyle: {
                            color: '#00f2fe'
                        }
                    }
                ]
            }
        ]
    };
    radarChart.setOption(radarOption);

    // 分类分布图
    const categoryChart = echarts.init(document.getElementById('category-chart'));
    const categoryOption = {
        tooltip: {
            trigger: 'item',
            formatter: '{a} <br/>{b}: {c} ({d}%)'
        },
        legend: {
            orient: 'vertical',
            right: 10,
            top: 'center',
            textStyle: {
                color: '#fff'
            },
            data: ['科研动态', '政策解读', '教学成果', '学术活动', '合作交流', '其他']
        },
        series: [
            {
                name: '新闻分类',
                type: 'pie',
                radius: ['40%', '70%'],
                center: ['40%', '50%'],
                avoidLabelOverlap: false,
                itemStyle: {
                    borderRadius: 10,
                    borderColor: '#0a1a35',
                    borderWidth: 2
                },
                label: {
                    show: false,
                    position: 'center'
                },
                emphasis: {
                    label: {
                        show: true,
                        fontSize: '18',
                        fontWeight: 'bold'
                    }
                },
                labelLine: {
                    show: false
                },
                data: [
                    { value: 335, name: '科研动态' },
                    { value: 310, name: '政策解读' },
                    { value: 234, name: '教学成果' },
                    { value: 135, name: '学术活动' },
                    { value: 154, name: '合作交流' },
                    { value: 80, name: '其他' }
                ],
                color: ['#4facfe', '#00f2fe', '#43e97b', '#fa709a', '#ff9a9e', '#a8edea']
            }
        ]
    };
    categoryChart.setOption(categoryOption);

    // 散点图
    const scatterChart = echarts.init(document.getElementById('scatter-chart'));
    const scatterOption = {
        tooltip: {
            trigger: 'item',
            formatter: function (params) {
                return `发布时间: ${params.value[0]}点<br>点击量: ${params.value[1]}<br>类型: ${params.value[2]}`;
            }
        },
        xAxis: {
            type: 'value',
            name: '发布时间(小时)',
            min: 0,
            max: 24,
            axisLine: {
                lineStyle: {
                    color: '#a0a8b6'
                }
            },
            splitLine: {
                lineStyle: {
                    color: 'rgba(255, 255, 255, 0.1)'
                }
            }
        },
        yAxis: {
            type: 'value',
            name: '点击量',
            axisLine: {
                lineStyle: {
                    color: '#a0a8b6'
                }
            },
            splitLine: {
                lineStyle: {
                    color: 'rgba(255, 255, 255, 0.1)'
                }
            }
        },
        series: [
            {
                name: '科研类',
                type: 'scatter',
                symbolSize: function (data) {
                    return Math.sqrt(data[1]) / 5;
                },
                data: [
                    [8, 320, '科研类'], [9, 420, '科研类'], [10, 350, '科研类'],
                    [14, 380, '科研类'], [15, 410, '科研类'], [16, 290, '科研类'],
                    [20, 250, '科研类'], [21, 280, '科研类']
                ],
                itemStyle: {
                    color: '#4facfe'
                }
            },
            {
                name: '政策类',
                type: 'scatter',
                symbolSize: function (data) {
                    return Math.sqrt(data[1]) / 5;
                },
                data: [
                    [7, 180, '政策类'], [8, 220, '政策类'], [9, 250, '政策类'],
                    [10, 280, '政策类'], [14, 320, '政策类'], [15, 350, '政策类'],
                    [19, 200, '政策类'], [20, 230, '政策类']
                ],
                itemStyle: {
                    color: '#00f2fe'
                }
            },
            {
                name: '教学类',
                type: 'scatter',
                symbolSize: function (data) {
                    return Math.sqrt(data[1]) / 5;
                },
                data: [
                    [8, 150, '教学类'], [9, 180, '教学类'], [10, 200, '教学类'],
                    [14, 220, '教学类'], [15, 240, '教学类'], [16, 210, '教学类'],
                    [20, 190, '教学类'], [21, 170, '教学类']
                ],
                itemStyle: {
                    color: '#43e97b'
                }
            }
        ]
    };
    scatterChart.setOption(scatterOption);

    // 新闻列表
    const newsList = document.getElementById('news-list');
    const newsData = [
        { title: '党委常委会“第一议题”传达学习习近平总书记重要指示和重要回信精神 研究相关贯彻落实措施', time: '2025-10-15', views: 24 },
        { title: '学校召开中国人民抗日战争暨世界反法西斯战争胜利80周年纪念活动服务保障工作总结大会', time: '2025-10-14', views: 333 },
        { title: '从实验室到田间地头 北农人以“科技范儿”助力绘出好“丰”景', time: '2025-10-14', views: 79 },
        { title: '学校党委理论学习中心组学习研讨《习近平谈治国理政》第五卷', time: '20250-10-13 ', views: 140 },
        { title: '深化校企校际合作 深入推动产教融合 校领导带队赴内蒙古开展调研', time: '2025-10-11', views: 378 },
        { title: '月满华章 情暖校园 北农师生这样过中秋', time: '2025-10-06 ', views: 220 },
        { title: '炽热情怀与国家同行 北农人的国庆记忆', time: '2025-10-02 ', views: 222 },
        { title: '我爱你，中国！76岁生日快乐！北农师生深情告白', time: '2025-10-01', views: 278 }
    ];

    function renderNewsList() {
        newsList.innerHTML = '';
        newsData.forEach(news => {
            const newsItem = document.createElement('div');
            newsItem.className = 'news-item';
            newsItem.innerHTML = `
                        <div class="news-title">${news.title}</div>
                        <div class="news-time">${news.time}</div>
                        <div class="news-views">${news.views}</div>
                    `;
            newsList.appendChild(newsItem);
        });
    }

    renderNewsList();


    // 响应窗口大小变化
    window.addEventListener('resize', function () {
        wordcloudChart.resize();
        trendChart.resize();
        barChart.resize();
        radarChart.resize();
        categoryChart.resize();
        scatterChart.resize();
        mapChart.resize();
    });

});